Handling notifications

ABSTRACT

In particular embodiments, one or more notifications are presented on a screen of a personal computing device while the personal computing device is in a locked state. Entry of one or more user responses may be detected on the personal computing device while still in the locked state. Each user response may be associated with at least one notification. An authorization event associated with the personal computing device may be detected, thereby unlocking the personal computing device. The one or more user responses on the personal computing device may then be presented to the user for confirmation. Once user confirmation is received, confirmed user responses may then be published.

PRIORITY

This application is a continuation under 35 U.S.C. § 120 of U.S. patentapplication Ser. No. 13/571,160, filed 9 Aug. 2012.

TECHNICAL FIELD

This disclosure generally relates to personal computing devices and morespecifically relates to handling notifications.

BACKGROUND

Personal computing devices, such as mobile telephones (e.g., featurephones and smart phones), personal digital assistants (PDA), and mobilecomputers (e.g., tablet, netbook, and notebook computers), have becomeprevalent in people's daily lives. Many such devices are capable ofsupporting a variety of functionalities. Often, people carry relativelysmall and yet highly versatile mobile devices with them as they gothrough their daily lives (e.g., visit different places, participate indifferent events, perform different activities, etc.), and these mobiledevices become extremely useful tools that bring convenience andflexibility to people's lives.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example system associated with a social network.

FIGS. 2A-B illustrate an example personal computing device.

FIG. 3 illustrates an example software architecture for information andapplication on a mobile device.

FIG. 4 illustrates an example method for performing particularembodiments.

FIGS. 5A-B illustrate example user interfaces for handlingnotifications.

FIG. 6 illustrates an example computer system for performing particularembodiments.

DESCRIPTION OF EXAMPLE EMBODIMENTS

This disclosure is now described in detail with reference to a fewembodiments thereof as illustrated in the accompanying drawings. In thefollowing description, numerous specific details are set forth in orderto provide a thorough understanding of this disclosure. However, thisdisclosure may be practiced without some or all of these specificdetails. In other instances, well known process steps and structureshave not been described in detail in order not to unnecessarily obscurethis disclosure. In addition, while the disclosure is described inconjunction with the particular embodiments, it should be understoodthat this description is not intended to limit the disclosure to thedescribed embodiments. To the contrary, the description is intended tocover alternatives, modifications, and equivalents as may be includedwithin the spirit and scope of the disclosure as defined by the appendedclaims.

Present-day mobile devices may be of different types, such as feature orsmart phones, personal digital assistants (PDAs), and mobile computers(e.g., tablets, netbooks, notebooks, laptops), and as a result, have avariety of different features that may perform a variety of differentfunctions. For example, some mobile devices may have small,black-and-white screens, and may only be capable of sending andreceiving cellular or voice data. Other basic-feature mobile devices mayalso be capable of sending and receiving text messages, thus exchangingdata with another mobile device. More sophisticated mobile devices mayhave larger, color screens, capable of displaying and running multimediadata, such as text messages, images, audio files, videos, and the like.Such sophisticated mobile devices may be capable of sending andreceiving both voice and binary data.

Nearly all mobile devices include memory (e.g., internal or add-onmemory cards) that may be used to store information or data. Abasic-feature mobile device has enough memory to store at least contactnames and telephone numbers, whereas a more sophisticated mobile devicehas more memory for storing various types of information or data. Inaddition, nearly all mobile devices have security features, such aslocked screens, that allow the user to prevent unauthorized access ofthe mobile device. In both the case of a basic-feature mobile device anda more sophisticated mobile device, a user may be required to interactwith the mobile device to unlock it.

Particular embodiments augment functionality of the locked-screen stateof a mobile device. In particular embodiments, before a user unlocks thescreen, the user may handle or interact with the notifications orcontent immediately, such as submitting a “like” response or a“comment.” Particular embodiments present one or more notifications on apersonal computing device while the personal computing device is locked,receive one or more user responses on the personal computing device, andpresent the user with the one or more responses on the personalcomputing device for confirmation.

FIG. 1 illustrates an example system 100 associated with a socialnetwork. In the example of FIG. 1, system 100 includes a network 110that couples one or more servers 120 to one or more personal computingdevices 130 and one or more personal computing devices 130 to eachother. In particular embodiments, network 110 is an intranet, anextranet, a virtual private network (VPN), a local area network (LAN), awireless LAN (WLAN), a wide area network (WAN), a metropolitan areanetwork (MAN), a portion of the Internet, a cellular technology-basednetwork, a satellite communications technology-based network, or anothernetwork 110 or a combination of two or more such networks 110. Thisdisclosure contemplates any suitable network 110.

One or more links 150 couple a server 120 or a personal computing device130 to network 110. In particular embodiments, one or more links 150each includes one or more wireline, wireless, or optical links 150. Inparticular embodiments, one or more links 150 each includes an intranet,an extranet, a VPN, a LAN, a WLAN, a WAN, a MAN, a portion of theInternet, a cellular technology-based network, a satellitecommunications technology-based network, or another link 150 or acombination of two or more such links 150. This disclosure contemplatesany suitable links 150 coupling servers 120 and personal computingdevices 130 to network 110.

In particular embodiments, each server 120 may be a unitary server or adistributed server spanning multiple computers or multiple datacenters.Servers 120 may be of various types, such as, for example and withoutlimitation, web server, news server, mail server, message server,advertising server, file server, application server, exchange server,database server, proxy server, another server suitable for performingfunctions and processes described herein, or any combination thereof. Inparticular embodiments, each server 120 may include hardware, software,or embedded logic components or a combination of two or more suchcomponents for carrying out the appropriate functionalities implementedor supported by server 120. In particular embodiments, each server 120may include may include hardware, software, or embedded logic componentsor a combination of two or more such components for carrying out datacommunications, which may be based on a protocol. For example, a webserver is generally capable of hosting websites containing web pages orparticular elements of web pages. More specifically, a web server mayhost HTML files or other file types, or may dynamically create orconstitute files upon a request, and communicate them to personalcomputing devices 130 in response to HTTP or other requests frompersonal computing devices 130. A mail server is generally capable ofproviding electronic mail services to various personal computing devices130. A database server is generally capable of providing an interfacefor managing data stored in one or more data stores. In particularembodiments, a social-networking system 122 may be hosted on a server120. In particular embodiments, server 120 may transmit data using aprotocol, e.g., HTTP, TCP, UDP, MQTT, WAP, ICMP, POP3, SMTP, FTP, IMAP,HOP, RMI, DCOM, DDE, SOAP, Mobile IP, XOT, IRC, SNMP, SOCKS, SHTTP, SMS,SMSTP, MMS, or any other conventional protocol, or any combinationthereof.

In particular embodiments, one or more data storages 140 may becommunicatively linked to one or more severs 120 via one or more links150. In particular embodiments, data storages 140 may be used to storevarious types of information. In particular embodiments, the informationstored in data storages 140 may be organized according to specific datastructures. In particular embodiments, each data storage 140 may be arelational database. Particular embodiments may provide interfaces thatenable servers 120 or personal computing devices 130 to manage, e.g.,retrieve, modify, add, or delete, the information stored in data storage140.

In particular embodiments, each personal computing device 130 may be anelectronic device including hardware, software, or embedded logiccomponents or a combination of two or more such components and capableof carrying out the appropriate functionalities implemented or supportedby personal computing device 130. For example and without limitation, apersonal computing device 130 may comprise a computer system such as: adesktop computer, a notebook or laptop, a netbook, a tablet, an e-bookreader, a GPS device, a camera, a personal digital assistant (PDA), ahandheld electronic device, a mobile telephone, or another similarprocessor-based electronic device. This disclosure contemplates anysuitable personal computing devices 130. A personal computing device 130may enable a network user at personal computing device 130 to accessnetwork 130. A personal computing device 130 may enable its user tocommunicate with other users at other personal computing devices 130.

A personal computing device 130 may have a web browser, such asMICROSOFT® INTERNET EXPLORER®, GOOGLE CHROME™ or MOZILLA FIREFOX®, andmay have one or more add-ons, plug-ins, or other extensions. Personalcomputing device 130 may render a web page based on the HTML files fromserver 120 for presentation to the user. This disclosure contemplatesany suitable web page files. As an example and not by way of limitation,web pages may render from HTML files, Extensible Hyper Text MarkupLanguage (XHTML) files, or Extensible Markup Language (XML) files,according to particular needs. Such pages may also execute scripts suchas, for example and without limitation, those written in JAVASCRIPT®,JAVA®, MICROSOFT® SILVERLIGHT, combinations of markup language andscripts such as AJAX (Asynchronous JAVASCRIPT® and XML), and the like.Herein, reference to a web page encompasses one or more correspondingweb page files (which a browser may use to render the web page) and viceversa, where appropriate.

FIG. 2A illustrates an example personal computing device 200. Inparticular embodiments, personal computing device 200 may comprise aprocessor 210, a memory 220, a communication component 230 (e.g.,antenna and communication interface for wireless communications), one ormore input and/or output (I/O) components and/or interfaces 240, and oneor more sensors 250. In particular embodiments, one or more I/Ocomponents and/or interfaces 240 may incorporate one or more sensors250. In particular embodiments, personal computing device 200 maycomprise a computer system or and element thereof as described in FIG. 7and associated description.

In particular embodiments, a personal computing device, such as a mobiledevice, may include various types of sensors 250, such as, for exampleand without limitation: touch sensors (disposed, for example, on adisplay of the device, the back of the device and/or one or more lateraledges of the device) for detecting a user touching the surface of thepersonal computing device (e.g., using one or more fingers);accelerometer for detecting whether the personal computing device 200 ismoving and the speed of the movement; thermometer for measuring thetemperature change near the personal computing device 200; proximitysensor for detecting the proximity of the personal computing device 200to another object (e.g., a hand, desk, or other object); light sensorfor measuring the ambient light around the personal computing device200; imaging sensor (e.g., camera) for capturing digital still imagesand/or video of objects near the personal computing device 200 (e.g.,scenes, people, bar codes, QR codes, etc.); location sensors (e.g.,Global Positioning System (GPS)) for determining the location (e.g., interms of latitude and longitude) of the personal computing device;sensors for detecting communication networks within close proximity(e.g., near field communication (NFC), Bluetooth, RFID, infrared);chemical sensors; biometric sensors for biometrics-based (e.g.,fingerprint, palm vein pattern, hand geometry, iris/retina, DNA, face,voice, olfactory, sweat) authentication of user of personal computingdevice 200; etc. This disclosure contemplates that a personal computingdevice may include any applicable type of sensor. Sensors may providevarious types of sensor data, which may be analyzed to determine theuser's intention with respect to the personal computing device at agiven time.

In particular embodiments, determining a location of the personalcomputing device is based on GPS information, triangulation information,proximity to one or more other designated safe devices, calendarinformation, or any combination thereof.

In particular embodiments, a sensors hub 260 may optionally be includedin personal computing device 200. Sensors 250 may be connected tosensors hub 260, which may be a low power-consuming processor thatcontrols sensors 250, manages power for sensors 250, processes sensorinputs, aggregates sensor data, and performs certain sensor functions.In addition, in particular embodiments, some types of sensors 250 may beconnected to a controller 270. In this case, sensors hub 260 may beconnected to controller 270, which in turn is connected to sensor 250.Alternatively, in particular embodiments, there may be a sensor monitorin place of sensors hub 260 for managing sensors 250.

In particular embodiments, in addition to the front side, personalcomputing device 200 may have one or more sensors for performingbiometric identification. Such sensors may be positioned on any surfaceof personal computing device 200. In example embodiments, as the user'shand touches personal computing device 200 to grab hold of it, the touchsensors may capture the user's fingerprints or palm vein pattern. Inexample embodiments, while a user is viewing the screen of personalcomputing device 200, a camera may capture an image of the user's faceto perform facial recognition. In example embodiments, while a user isviewing the screen of personal computing device 200, an infrared scannermay scan the user's iris and/or retina. In example embodiments, while auser is in contact or close proximity with personal computing device200, chemical and/or olfactory sensors may capture relevant data about auser. In particular embodiments, upon detecting that there is a changein state with respect to the identity of the user utilizing personalcomputing device 200, either by itself or in combination with othertypes of sensor indications, personal computing device 200 may determinethat it is being shared.

In particular embodiments, in addition to the front side, the personalcomputing device 200 may have touch sensors on the left and right sides.Optionally, the personal computing device 200 may also have touchsensors on the back, top, or bottom side. Thus, as the user's handtouches personal computing device 200 to grab hold of it, the touchsensors may detect the user's fingers or palm touching personalcomputing device 200. In particular embodiments, upon detecting thatthere is a change in state with respect to a user touching personalcomputing device 200, either by itself or in combination with othertypes of sensor indications, personal computing device 200 may determinethat it is being shared.

In particular embodiments, personal computing device 200 may have anaccelerometer in addition to or instead of the touch sensors on the leftand right sides. Sensor data provided by the accelerometer may also beused to estimate whether a new user has picked up personal computingdevice 200 from a resting position, e.g., on a table or desk, displayshelf, or from someone's hand or from within someone's bag. When theuser picks up personal computing device 200 and brings it in front ofthe user's face, there may be a relatively sudden increase in themovement speed of personal computing device 200. This change in thedevice's movement speed may be detected based on the sensor datasupplied by the accelerometer. In particular embodiments, upon detectingthat there is a significant increase in the speed of the device'smovement, either by itself or in combination with other types of sensorindications, personal computing device 200 may determine that it isbeing shared.

In particular embodiments, personal computing device 200 may have aGyrometer in addition or instead of the touch sensors on the left andright sides. A Gyrometer, also known as a gyroscope, is a device formeasuring the orientation along one or more axis. In particularembodiments, a Gyrometer may be used to measure the orientation ofpersonal computing device 200. When personal computing device 200 isstored on a shelf or in the user's bag, it may stay mostly in oneorientation. However, when the user grabs hold of personal computingdevice 200 and lifts it up and/or moves it closer to bring it in frontof the user's face, there may be a relatively sudden change in theorientation of personal computing device 200. The orientation ofpersonal computing device 200 may be detected and measured by thegyrometer. If the orientation of personal computing device 200 haschanged significantly, In particular embodiments, upon detecting thatthere is a significant change in the orientation of personal computingdevice 200, either by itself or in combination with other types ofsensor indications, personal computing device 200 may determine that itis being shared.

In particular embodiments, personal computing device 200 may have alight sensor. When personal computing device 200 is stored in areceptacle, e.g., the user's pocket or bag, or in a case or holster, itis relatively dark around personal computing device 200. On the otherhand, when the user brings personal computing device 200 out of hispocket, it may be relatively bright around personal computing device200, especially during day time or in well-lit areas. The sensor datasupplied by the light sensor may be analyzed to detect when asignificant change in the ambient light level around personal computingdevice 200 occurs. In particular embodiments, upon detecting that thereis a significant increase in the ambient light level around personalcomputing device 200, either by itself or in combination with othertypes of sensor indications, personal computing device 200 may determinethat it is being shared.

In particular embodiments, personal computing device 200 may have aproximity sensor. The sensor data supplied by the proximity sensor maybe analyzed to detect when personal computing device 200 is in closeproximity to a specific object, such as the user's hand. For example,personal computing device 200 may have an infrared LED (light-emittingdiode) 290 (i.e., proximity sensor) placed on its back side. When theuser holds such a personal computing device in his hand, the palm of theuser's hand may cover infrared LED 290. As a result, infrared LED 290may detect when the user's hand is in close proximity to personalcomputing device 200. In particular embodiments, upon detecting thatpersonal computing device 200 is in close proximity to the user's hand,either by itself or in combination with other types of sensorindications, personal computing device 200 may determine that it isbeing shared.

A personal computing device 200 may have any number of sensors ofvarious types, and these sensors may supply different types of sensordata. Different combinations of the individual types of sensor data maybe used together to detect and estimate a user's current intention withrespect to personal computing device 200 (e.g., whether the user reallymeans to take personal computing device 200 out of his pocket and useit). Sometimes, using multiple types of sensor data in combination mayyield a more accurate, and thus better, estimation of the user'sintention with respect to personal computing device 200 at a given timethan only using a single type of sensor data. Nevertheless, it ispossible to estimate the user's intention using a single type of sensordata (e.g., touch-sensor data).

FIG. 2B illustrates the exterior of an example personal computing device200. Touch sensors may be placed anywhere on any surface of personalcomputing device 200. For example, in FIG. 2, a touchscreenincorporating touch sensors 280A is placed on the front of personalcomputing device 200. The touchscreen may function as an input/output(I/O) component for personal computing device 200. In addition, touchsensors 280B and 280C are placed on the left and right sides of personalcomputing device 200, respectively. Touch sensors 280B and 280C maydetect a user's hand touching the sides of personal computing device200. In particular embodiments, touch sensors 280A, 280B, 280C may beimplemented using resistive, capacitive, and/or inductive touch sensors.The electrodes of the touch sensors 280A, 280B, 280C may be arranged ona thin solid piece of material or a thin wire mesh. In the case ofcapacitive touch sensors, there may be two types of electrodes:transmitting and receiving. These electrodes may be connected to acontroller (e.g., controller 270 illustrated in FIG. 2), which may be amicrochip designed to drive the transmitting electrodes with electricalpulses and measure the changes in capacitance from the receivingelectrodes caused by a user's touches in order to detect the locationsof the user touches.

In particular embodiments, personal computing device 200 may have aproximity sensor 290 (e.g., an infrared LED) placed on its back side.Proximity sensor 290 may be able to supply sensor data for determiningits proximity, and thus the proximity of personal computing device 200,to another object.

FIG. 3 illustrates an example software architecture 300 for informationand applications on a personal computing device 200. In particularembodiments, software architecture 300 may comprise software 310 anddata store(s) 320. In particular embodiments, personal information maybe stored in an application data cache 320 and/or a profile data store320 and/or another data store 320. In particular embodiments, one ormore software applications may be executed on personal computing device200. In particular embodiments, they may be web-based applicationshosted on servers. For example, a web-based application may beassociated with a URI (Uniform Resource Identifier) or URL (UniformResource Locator). From personal computing device 200, a user may accessthe web-based application through its associated URI or URL (e.g., byusing a web browser). Alternatively, in other embodiments, they may benative applications installed and residing on personal computing device200. Thus, software 310 may also include any number of application userinterfaces 330 and application functions 340. For example, oneapplication (e.g., Google Maps®) may enable a device user to view a map,search for addresses and businesses, and get directions; a secondapplication may enable the device user to read, send, and receiveemails; a third application (e.g., a web browser) may enable the deviceuser to browse and search the Internet; a fourth application may enablethe device user to take photos or record videos using personal computingdevice 200; a fifth application may allow the device user to receive andinitiate VoIP and/or cellular network calls, and so on. Each applicationhas one or more specific functionalities, and the software (e.g., one ormore software modules) implementing these functionalities may beincluded in application functions 340. Each application may also have auser interface that enables the device user to interact with theapplication, and the software implementing the application userinterface may be included in application user interfaces 330. Inparticular embodiments, the functionalities of an application may beimplemented using JavaScript®, Java®, C, or other suitable programminglanguages. In particular embodiments, the user interface of anapplication may be implemented using HyperText Markup Language (HTML),JavaScript®, Java®, or other suitable programming languages.

In particular embodiments, the user interface of an application mayinclude any number of screens or displays. In particular embodiments,each screen or display of the user interface may be implemented as a webpage. Thus, the device user may interact with the application through aseries of screens or displays (i.e., a series of web pages). Inparticular embodiments, operating system 350 is Google's Android™ mobiletechnology platform. With Android®, there is a Java® package called“android.webkit”, which provides various tools for browsing the web.Among the “android.webkit” package, there is a Java class called“android.webkit.WebView”, which implements a View for displaying webpages. This class uses the WebKit rendering engine to display web pagesand includes methods to navigate forward and backward through a history,zoom in, zoom out, perform text searches, and so on. In particularembodiments, an application user interface 330 may utilize Android'sWebView application programming interface (API) to display each web pageof the user interface in a View implemented by the“android.webkit.WebView” class. Thus, in particular embodiments,software 310 may include any number of web views 360, each fordisplaying one or more web pages that implement the user interface of anapplication.

During the execution of an application, the device user may interactwith the application through its user interface. For example, the usermay provide inputs to the application in various displays (e.g., webpages). Outputs of the application may be presented to the user invarious displays (e.g., web pages) as well. In particular embodiments,when the user provides an input to the application through a specificdisplay (e.g., a specific web page), an event (e.g., an input event) maybe generated by, for example, a web view 360 or application userinterfaces 330. Each input event may be forwarded to applicationfunctions 340, or application functions 340 may listen for input eventsthus generated. When application functions 340 receive an input event,the appropriate software module in application functions 340 may beinvoked to process the event. In addition, specific functionalitiesprovided by operating system 350 and/or hardware (e.g., as described inFIGS. 1 and 2A-B) may also be invoked. For example, if the event isgenerated as a result of the user pushing a button to take a photo withpersonal computing device 200, a corresponding image processing modulemay be invoked to convert the raw image data into an image file (e.g.,JPG or GIF) and store the image file in the storage 320 of personalcomputing device 200. As anther example, if the event is generated as aresult of the user selecting an icon to compose an instant message, thecorresponding short message service (SMS) module may be invoked toenable the user to compose and send the message.

In particular embodiments, when an output of the application is ready tobe presented to the user, an event (e.g., an output event) may begenerated by, for example, a software module in application functions340 or operating system 350. Each output event may be forwarded toapplication user interfaces 330, or application user interfaces 330 maylisten for output events thus generated. When application userinterfaces 330 receive an output event, it may construct a web view 360to display a web page representing or containing the output. Forexample, in response to the user selecting an icon to compose an instantmessage, an output may be constructed that includes a text field thatallows the user to input the message. This output may be presented tothe user as a web page and displayed to the user in a web view 360 sothat the user may type into the text field the message to be sent.

The user interface of an application may be implemented using a suitableprogramming language (e.g., HTML, JavaScript®, or Java®). Morespecifically, in particular embodiments, each web page that implements ascreen or display of the user interface may be implemented using asuitable programming language. In particular embodiments, when a webview 360 is constructed to display a web page (e.g., by application userinterfaces 330 in response to an output event), the code implementingthe web page is loaded into web view 360.

FIG. 4 illustrates an example method for interacting with locked-screennotifications. The method may start at step 410, where one or morenotifications may be received on a personal computing device while thepersonal computing device is in a locked state. Notifications may bereceived by the personal computing device when the device is locked orunlocked.

At step 420, one or more notifications may be presented on the personalcomputing device while the personal computing device is in a lockedstate. In particular embodiments, presenting notifications comprises oneor more of displaying the notification on a screen of the personalcomputing device, playing a sound representing the notification using anaudio output of the personal computing device, illuminating the screenor another visual indicator on the personal computing device, causingthe personal computing device to provide haptic output representing thenotification, or any combination thereof.

At step 430, the personal computing device may detect one or more userresponses to the one or more notifications. A user may perform one ormore explicit actions that are received as user responses on thepersonal computing device while the personal computing device remainslocked. In particular embodiments, each of the user responses areassociated with at least one of the one or more notifications. A userresponse may comprise a comment, a like indication, a dislikeindication, a delete action, a hide action, a categorization action, amoderation action, a rating, a flag, a characterization, or anycombination thereof. In particular embodiments, a single user responsemay be associated with more than one notification, e.g., performing aswipe gesture to hide multiple notifications at once.

At step 440, the personal computing device may detect an authorizationevent and release itself from the locked state. In particularembodiments, an authorization event comprises an affirmative useraction, the user action comprising entry of a valid password eitherthrough interaction with a keyboard or touch screen or interaction witha voice sensor, a swipe gesture, a button click, activation of a touchsensor of the personal computing device, activation of a gyroscope ofthe personal computing device, activation of an accelerometer of thepersonal computing device, or any combination thereof.

In particular embodiments, the authorization event may comprise passivedetection of a change in state of the personal computing device, such asdetermining a location of the personal computing device, detecting thatthe screen of the personal computing device is hidden, detecting thatheadphones are connected to the personal computing device, detectingthat the personal computing device is being held by its owner, detectingthat the personal computing device is connected for recharging,detecting that the personal computing device is located within areceptacle, detecting that the personal computing device is connectionto a designated communications network, or any combination thereof.

In particular embodiments, functionality of the personal computingdevice may be fully unlocked upon detection of an affirmativeauthorization event or a passive authorization event. In particularembodiments, functionality of the personal computing device may only bepartially unlocked upon detection of a passive authorization event.

At step 450, any user responses that were entered while the personalcomputing device was in a locked state may be presented on the personalcomputing device for confirmation. In particular embodiments, the usermay select particular responses to confirm; in particular embodiments,the user may be able to select all responses for confirmation at once.Selection of particular responses may be accomplished using anyconventional method, e.g., clicking checkboxes, buttons, or links,making a swipe gesture, saying a voice command, etc.

At step 460, confirmation of one or more user responses may be received.In particular embodiments, there are publishing rules associated withuser actions taken while the personal computing device is locked. Forexample, there may be one or more social and privacy rules associatedwith publishing user actions on notifications received while thepersonal computing device is locked. In particular embodiments, securityor privacy rules may be disabled, thus requiring no user confirmation ofresponses. In particular embodiments, such disabling of rules may beconfigured for all types of notifications, or for only certain types ofnotifications. In particular embodiments, confirmation occurs when theuser selects all actions for publication. In particular embodiments, acancellation button appears next to a confirmation button for each userresponse to be confirmed.

At step 470, any confirmed user responses may be published. Inparticular embodiments, publication may comprise displaying theconfirmed user responses on associated web pages or RSS feeds, providingnotifications to other users of the confirmed responses, or any otherconventional manner of publication. In particular embodiments,publication may comprise updating one or more databases with informationassociated with the user responses, or transmitting informationassociated with the user responses to third-party servers.

In particular embodiments, the user or an administrator may be able toconfigure settings or preferences associated with the user's profile orassociated with the device to enable or disable the ability to interactwith notifications while the personal computing device is in a lockedstate.

Particular embodiments may repeat the steps of the method of FIG. 4,where appropriate. Moreover, although this disclosure describes andillustrates particular steps of the method of FIG. 4 as occurring in aparticular order, this disclosure contemplates any suitable steps of themethod of FIG. 4 occurring in any suitable order. Furthermore, althoughthis disclosure describes and illustrates particular components,devices, or systems carrying out particular steps of the method of FIG.4, this disclosure contemplates any suitable combination of any suitablecomponents, devices, or systems carrying out any suitable steps of themethod of FIG. 4.

FIG. 5A illustrates an example personal computing device 500 with ascreen 510. Screen 510 displays one or more notifications 520 receivedby personal computing device 500. In particular embodiments,notifications may have been received at a user's personal computingdevice from the user's friends, such as Charles, Laura, Billy, andSusie, while the user's personal computing device was locked. Forexample, a first notification comprises a notification from Charles thathe added seven photos of you 20 minutes ago, a second notificationcomprises a notification from Laura that she liked your photo 5 minutesago, a third notification comprises Billy commenting on your photo threeminutes ago, and a fourth notification comprises a notification fromSusie that she liked Billy's comment. In addition to the exampleillustrated in FIG. 5A, an example presentation may comprise playing asound using an audio output of the personal computing device thatrepresents the one or more notifications, illuminating the screen oranother visual indicator on the personal computing device, or causingthe computing device to provide haptic output that represents thenotification.

In particular embodiments, the user respond to a notification byinteracting with one or more sensors, as described above, that arelocated in various locations on or inside personal computing device 500that can sense an affirmative or passive user action. For example a usermay interact with screen 510, that may be a touch screen, by executing aunique gesture with respect to screen 510. In particular embodiments, auser may interact with a keyboard that is physically present on thepersonal computing device or graphically represented on screen 510 toinitiate a user response. In particular embodiments, a user may interactwith personal computing device by reciting a voice command or phrase inconjunction with voice identification, or by grasping the personalcomputing device in such a way that personal computing device receivesthe response, such as through the sensors located around the personalcomputing device in FIG. 2B.

FIG. 5B illustrates an example user interface that appears on thepersonal computing device once the personal computing device isunlocked. The user may select one or more responses for publication,thus confirming the responses that were entered while the device was ina locked state. Once the personal computing device is unlocked, aconfirmation icon and/or window 530 appears on personal computing device500. The user interface presents all of the user responses that werereceived while the personal computing device 500 was locked. The user isprompted to confirm, and thereby publish the responses. In the exampleembodiment shown in FIG. 5B, by checking each respective box 540, theuser can select which responses to publish (or choose to publish allresponses at once). In particular embodiments, the user can choose tocancel a particular response entered while the personal computing devicewas in the locked state.

FIG. 6 illustrates an example network device 600. Particular embodimentsmay be implemented on one or more network devices. In particularembodiments, one or more devices 600 perform one or more steps of one ormore methods described or illustrated herein. In particular embodiments,one or more devices 600 provide functionality described or illustratedherein. In particular embodiments, software running on one or moredevices 600 performs one or more steps of one or more methods describedor illustrated herein or provides functionality described or illustratedherein. Particular embodiments include one or more portions of one ormore devices 600.

This disclosure contemplates any suitable number of devices 600. Thisdisclosure contemplates device 600 taking any suitable physical form. Asexample and not by way of limitation, device 600 may be an embeddeddevice, a system-on-chip (SOC), a single-board computer system (SBC)(such as, for example, a computer-on-module (COM) or system-on-module(SOM)), a desktop computer system, a laptop or notebook computer system,an interactive kiosk, a mainframe, a mesh of computer systems, a mobiletelephone, a personal digital assistant (PDA), a server, or acombination of two or more of these. Where appropriate, device 600 mayinclude one or more devices 600; be unitary or distributed; spanmultiple locations; span multiple machines; or reside in a cloud, whichmay include one or more cloud components in one or more networks. Whereappropriate, one or more devices 600 may perform without substantialspatial or temporal limitation one or more steps of one or more methodsdescribed or illustrated herein. As an example and not by way oflimitation, one or more devices 600 may perform in real time or in batchmode one or more steps of one or more methods described or illustratedherein. One or more devices 600 may perform at different times or atdifferent locations one or more steps of one or more methods describedor illustrated herein, where appropriate.

In particular embodiments, network device 600 includes a processor 602,memory 604, storage 606, an input/output (I/O) interface 608, acommunication interface 610, and a bus 612. Although this disclosuredescribes and illustrates a particular device having a particular numberof particular components in a particular arrangement, this disclosurecontemplates any suitable device having any suitable number of anysuitable components in any suitable arrangement.

In particular embodiments, processor 602 includes hardware for executinginstructions, such as those making up a computer program. As an exampleand not by way of limitation, to execute instructions, processor 602 mayretrieve (or fetch) the instructions from an internal register, aninternal cache, memory 604, or storage 606; decode and execute them; andthen write one or more results to an internal register, an internalcache, memory 604, or storage 606. In particular embodiments, processor602 may include one or more internal caches for data, instructions, oraddresses. This disclosure contemplates processor 602 including anysuitable number of any suitable internal caches, where appropriate. Asan example and not by way of limitation, processor 602 may include oneor more instruction caches, one or more data caches, and one or moretranslation lookaside buffers (TLBs). Instructions in the instructioncaches may be copies of instructions in memory 604 or storage 606, andthe instruction caches may speed up retrieval of those instructions byprocessor 602. Data in the data caches may be copies of data in memory604 or storage 606 for instructions executing at processor 602 tooperate on; the results of previous instructions executed at processor602 for access by subsequent instructions executing at processor 602 orfor writing to memory 604 or storage 606; or other suitable data. Thedata caches may speed up read or write operations by processor 602. TheTLBs may speed up virtual-address translation for processor 602. Inparticular embodiments, processor 602 may include one or more internalregisters for data, instructions, or addresses. This disclosurecontemplates processor 602 including any suitable number of any suitableinternal registers, where appropriate. Where appropriate, processor 602may include one or more arithmetic logic units (ALUs); be a multi-coreprocessor; or include one or more processors 602. Although thisdisclosure describes and illustrates a particular processor, thisdisclosure contemplates any suitable processor.

In particular embodiments, memory 604 includes main memory for storinginstructions for processor 602 to execute or data for processor 602 tooperate on. As an example and not by way of limitation, device 600 mayload instructions from storage 606 or another source (such as, forexample, another device 600) to memory 604. Processor 602 may then loadthe instructions from memory 604 to an internal register or internalcache. To execute the instructions, processor 602 may retrieve theinstructions from the internal register or internal cache and decodethem. During or after execution of the instructions, processor 602 maywrite one or more results (which may be intermediate or final results)to the internal register or internal cache. Processor 602 may then writeone or more of those results to memory 604. In particular embodiments,processor 602 executes only instructions in one or more internalregisters or internal caches or in memory 604 (as opposed to storage 606or elsewhere) and operates only on data in one or more internalregisters or internal caches or in memory 604 (as opposed to storage 606or elsewhere). One or more memory buses (which may each include anaddress bus and a data bus) may couple processor 602 to memory 604. Bus612 may include one or more memory buses, as described below. Inparticular embodiments, one or more memory management units (MMUs)reside between processor 602 and memory 604 and facilitate accesses tomemory 604 requested by processor 602. In particular embodiments, memory604 includes random access memory (RAM). This RAM may be volatilememory, where appropriate. Where appropriate, this RAM may be dynamicRAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAMmay be single-ported or multi-ported RAM. This disclosure contemplatesany suitable RAM. Memory 604 may include one or more memories 604, whereappropriate. Although this disclosure describes and illustratesparticular memory, this disclosure contemplates any suitable memory.

In particular embodiments, storage 606 includes mass storage for data orinstructions. As an example and not by way of limitation, storage 606may include an HDD, a floppy disk drive, flash memory, an optical disc,a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB)drive or a combination of two or more of these. Storage 606 may includeremovable or non-removable (or fixed) media, where appropriate. Storage606 may be internal or external to device 600, where appropriate. Inparticular embodiments, storage 606 is non-volatile, solid-state memory.In particular embodiments, storage 606 includes read-only memory (ROM).Where appropriate, this ROM may be mask-programmed ROM, programmable ROM(PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM),electrically alterable ROM (EAROM), or flash memory or a combination oftwo or more of these. This disclosure contemplates mass storage 606taking any suitable physical form. Storage 606 may include one or morestorage control units facilitating communication between processor 602and storage 606, where appropriate. Where appropriate, storage 606 mayinclude one or more storages 606. Although this disclosure describes andillustrates particular storage, this disclosure contemplates anysuitable storage.

In particular embodiments, I/O interface 608 includes hardware,software, or both providing one or more interfaces for communicationbetween device 600 and one or more I/O devices. Device 600 may includeone or more of these I/O devices, where appropriate. One or more ofthese I/O devices may enable communication between a person and device600. As an example and not by way of limitation, an I/O device mayinclude a keyboard, keypad, microphone, monitor, mouse, printer,scanner, speaker, still camera, stylus, tablet, touch screen, trackball,video camera, another suitable I/O device or a combination of two ormore of these. An I/O device may include one or more sensors. Thisdisclosure contemplates any suitable I/O devices and any suitable I/Ointerfaces 608 for them. Where appropriate, I/O interface 608 mayinclude one or more device or software drivers enabling processor 602 todrive one or more of these I/O devices. I/O interface 608 may includeone or more I/O interfaces 608, where appropriate. Although thisdisclosure describes and illustrates a particular I/O interface, thisdisclosure contemplates any suitable I/O interface.

In particular embodiments, communication interface 610 includeshardware, software, or both providing one or more interfaces forcommunication (such as, for example, packet-based communication) betweendevice 600 and one or more other devices 600 or one or more networks. Asan example and not by way of limitation, communication interface 610 mayinclude a network interface controller (NIC) or network adapter forcommunicating with an Ethernet or other wire-based network or a wirelessNIC (WNIC) or wireless adapter for communicating with a wirelessnetwork, such as a WI-FI network. This disclosure contemplates anysuitable network and any suitable communication interface 610 for it. Asan example and not by way of limitation, device 600 may communicate withan ad hoc network, a personal area network (PAN), a local area network(LAN), a wide area network (WAN), a metropolitan area network (MAN), orone or more portions of the Internet or a combination of two or more ofthese. One or more portions of one or more of these networks may bewired or wireless. As an example, device 600 may communicate with awireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FInetwork, a WI-MAX network, a cellular telephone network (such as, forexample, a Global System for Mobile Communications (GSM) network), orother suitable wireless network or a combination of two or more ofthese. Device 600 may include any suitable communication interface 610for any of these networks, where appropriate. Communication interface610 may include one or more communication interfaces 610, whereappropriate. Although this disclosure describes and illustrates aparticular communication interface, this disclosure contemplates anysuitable communication interface.

In particular embodiments, bus 612 includes hardware, software, or bothcoupling components of device 600 to each other. As an example and notby way of limitation, bus 612 may include an Accelerated Graphics Port(AGP) or other graphics bus, an Enhanced Industry Standard Architecture(EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect,an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect,a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture(MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express(PCI-X) bus, a serial advanced technology attachment (SATA) bus, a VideoElectronics Standards Association local (VLB) bus, or another suitablebus or a combination of two or more of these. Bus 612 may include one ormore buses 612, where appropriate. Although this disclosure describesand illustrates a particular bus, this disclosure contemplates anysuitable bus or interconnect.

Herein, a computer-readable non-transitory storage medium or media mayinclude one or more semiconductor-based or other integrated circuits(ICs) (such, as for example, field-programmable gate arrays (FPGAs) orapplication-specific ICs (ASICs)), hard disk drives (HDDs), hybrid harddrives (HHDs), optical discs, optical disc drives (ODDs),magneto-optical discs, magneto-optical drives, floppy diskettes, floppydisk drives (FDDs), magnetic tapes, solid-state drives (SSDs),RAM-drives, SECURE DIGITAL cards or drives, any other suitablecomputer-readable non-transitory storage medium or media, or anysuitable combination of two or more of these, where appropriate. Acomputer-readable non-transitory storage medium or media may bevolatile, non-volatile, or a combination of volatile and non-volatile,where appropriate.

Herein, “or” is inclusive and not exclusive, unless expressly indicatedotherwise or indicated otherwise by context. Therefore, herein, “A or B”means “A, B, or both,” unless expressly indicated otherwise or indicatedotherwise by context. Moreover, “and” is both joint and several, unlessexpressly indicated otherwise or indicated otherwise by context.Therefore, herein, “A and B” means “A and B, jointly or severally,”unless expressly indicated otherwise or indicated otherwise by context.

This disclosure encompasses all changes, substitutions, variations,alterations, and modifications to the example embodiments herein that aperson having ordinary skill in the art would comprehend. Moreover,reference in the appended claims to an apparatus or system or acomponent of an apparatus or system being adapted to, arranged to,capable of, configured to, enabled to, operable to, or operative toperform a particular function encompasses that apparatus, system,component, whether or not it or that particular function is activated,turned on, or unlocked, as long as that apparatus, system, or componentis so adapted, arranged, capable, configured, enabled, operable, oroperative.

What is claimed is:
 1. A method comprising, by a server computingsystem: sending instructions to a personal computing device associatedwith a first user of an online social network hosted by a socialnetworking system to display one or more notifications on a displayscreen of the personal computing device while the personal computingdevice is in a locked state, wherein the one or more notifications areassociated with one or more operations of a second user of the onlinesocial network, and wherein the one or more operations are associatedwith one or more interactions of the second user with one or morepreviously published contents of the online social network associatedwith the first user; receiving sensor data from the personal computingdevice to estimate a current user intention of the first user withrespect to the personal computing device; in response to estimating thecurrent user intention, sending instructions to the personal computingdevice to present one or more selectable user publication responses forthe first user to select adjacent to the one or more notifications whilethe personal computing device is in the locked state, each selectableuser response being associated with at least one interaction to the oneor more operations of the second user on the previously publishedcontent of the online social network; receiving, from the personalcomputing device, user input comprising a selection of one or more ofthe selectable user publication responses on the personal computingdevice while the personal computing device is in the locked state;receiving, from the personal computing device, an indication that thefirst user has performed an authorization event associated with thepersonal computing device; and in response to the authorization event,retrieving the user input from the personal computing device forpublication on the social-networking system in response to the selectionof one or more of the selectable user publication responses adjacent tothe one or more notifications while the personal computing device is inthe locked state.
 2. The method of claim 1, further comprisingpublishing one or more user responses corresponding to the user input.3. The method of claim 1, wherein the instructions to display the one ormore notifications on the display screen further comprise instructionsto play a sound representing the one or more notifications using anaudio output of the personal computing device, illuminate an indicatorof the personal computing device, or cause the personal computing deviceto provide haptic output representing the one or more notifications. 4.The method of claim 1, wherein the selectable user publication responsesadjacent to the one or more notifications while the personal computingdevice is in the locked state comprise one or more options for the userto generate or perform a comment, a like indication, a dislikeindication, a delete action, a hide action, a categorization action, amoderation action, a rating, a flag, a characterization, an invitationacceptance action, an invitation decline action, or any combinationthereof.
 5. The method of claim 1, wherein the authorization eventcomprises an affirmative user action, the user action comprising entryof a valid password, a swipe gesture, a button click, activation of atouch sensor of the personal computing device, activation of a gyroscopeof the personal computing device, activation of an accelerometer of thepersonal computing device, or any combination thereof.
 6. The method ofclaim 1, wherein the authorization event comprises passive detection,the passive detection comprising detecting that a screen of the personalcomputing device is hidden, detecting that the personal computing deviceis connected for recharging, detecting that the personal computingdevice is located within a receptacle, or any combination thereof. 7.The method of claim 6, wherein the passive detection further comprisesone or more of determining a location of the personal computing device,detecting that headphones are connected to the personal computingdevice, detecting that the personal computing device is being held byits owner, detecting that the personal computing device is connection toa designated communications network; and wherein the determining alocation of the personal computing device is based on GPS information,triangulation information, proximity to one or more other designatedsafe devices, calendar information, or any combination thereof.
 8. Themethod of claim 1, further comprising: accessing one or more publishingrules for publishing one or more user responses corresponding to theuser input for interacting with the one or more notifications when thepersonal computing device is in the locked state; in response to adetermination that the one or more publishing rules are enabled for theone or more user responses corresponding to the user input forinteracting with the one or more notifications, presenting the one ormore user responses on the personal computing device for confirmation;receiving user confirmation of at least one of the one or more userresponses; and publishing each of the one or more user responses forwhich the user confirmation was received.
 9. The method of claim 1,further comprising: accessing one or more publishing rules forpublishing one or more user responses corresponding to the user inputfor interacting with the one or more notifications when the personalcomputing device is in the locked state; in response to a determinationthat the one or more publishing rules are disabled for the one or moreuser responses corresponding to the user input for interacting with theone or more notifications, publishing the one or more user responsescorresponding to the user input directly without requesting userconfirmation.
 10. The method of claim 1, further comprising: in responseto a determination that the authorization event is a passiveauthorization event, partially unlocking the personal computing device;and publishing one or more user responses corresponding to the userinput while the personal computing device is partially unlocked.
 11. Themethod of claim 9, further comprising: in response to a determinationthat the authorization event is an affirmative authorization even, fullyunlocking the personal computing device; and publishing one or more userresponses corresponding to the user input while the personal computingdevice is full unlocked.
 12. The method of claim 1, wherein estimatingthe current user intention comprises determining, based on the sensordata, that the first user has picked up the personal computing devicefrom a resting position and bring the personal computing device in frontof the first user's face.
 13. The method of claim 1, wherein the one ormore notifications are displayed in a time order from an oldestnotification to a newest notification.
 14. A server computing systemcomprising: one or more processors; and one or more computer-readablenon-transitory storage media coupled to one or more of the processorsand comprising instructions operable when executed by one or more of theprocessors to cause the server computing system to: send instructions toa personal computing device associated with a first user of an onlinesocial network hosted by a social networking system to display one ormore notifications on a display screen of the personal computing devicewhile the personal computing device is in a locked state, wherein theone or more notifications are associated with one or more operations ofa second user of the online social network, and wherein the one or moreoperations are associated with one or more interactions of the seconduser with one or more previously published contents of the online socialnetwork associated with the first user; receive sensor data from thepersonal computing device to estimate a current user intention of thefirst user with respect to the personal computing device; in response toestimating the current user intention, send instructions to the personalcomputing device to present one or more selectable user publicationresponses for the first user to select adjacent to the one or morenotifications, each selectable user response being associated with atleast one interaction to the one or more operations of the second useron the previously published content of the online social network;receive, from the personal computing device, user input comprising aselection of one or more of the selectable user publication responses onthe personal computing device while the personal computing device is inthe locked state; receive, from the personal computing device, anindication that the first user has performed an authorization eventassociated with the personal computing device; and in response to theauthorization event, retrieve the user input from the personal computingdevice for publication on the social-networking system in response tothe selection of one or more of the selectable user publicationresponses adjacent to the one or more notifications while the personalcomputing device is in the locked state.
 15. The system of claim 14,wherein the one or more processors are further operable to execute theinstructions to publish one or more user responses corresponding to theuser input.
 16. The system of claim 14, wherein the one or moreprocessors operable to execute the instructions are further operable to:play a sound representing the one or more notifications using an audiooutput of the personal computing device, illuminate an indicator of thepersonal computing device, or cause the personal computing device toprovide haptic output representing the one or more notifications. 17.The system of claim 14, wherein the selectable user publicationresponses adjacent to the one or more notifications while the personalcomputing device is in the locked state comprise one or more options forthe user to generate or perform a comment, a like indication, a dislikeindication, a delete action, a hide action, a categorization action, amoderation action, a rating, a flag, a characterization, an invitationacceptance action, an invitation decline action, or any combinationthereof.
 18. The system of claim 14, wherein the authorization eventcomprises an affirmative user action, the affirmative user actioncomprising entry of a valid password, a swipe gesture, a button click,activation of a touch sensor of the personal computing device,activation of a gyroscope of the personal computing device, activationof an accelerometer of the personal computing device, or any combinationthereof.
 19. The system of claim 14, wherein the authorization eventcomprises a passive action, the passive action comprising detection thatthe screen of the personal computing device is hidden detection that thepersonal computing device is connected for recharging, detection thatthe personal computing device is located within a receptacle, or anycombination thereof.
 20. The system of claim 19, wherein the passiveaction further comprises one or more of determination of a location ofthe personal computing device, detection that headphones are connectedto the personal computing device, detection that the personal computingdevice is being held by its owner, detection that the personal computingdevice is connected to a designated communications network; and whereinthe determination of a location of the personal computing device isbased on GPS information, triangulation information, proximity to one ormore other designated safe devices, calendar information, or anycombination thereof.
 21. One or more computer-readable non-transitorystorage media embodying software operable when executed by a servercomputing system to: send instructions to a personal computing deviceassociated with a first user of an online social network hosted by asocial networking system to display one or more notifications on adisplay screen of the personal computing device while the personalcomputing device is in a locked state, wherein the one or morenotifications are associated with one or more operations of a seconduser of the online social network, and wherein the one or moreoperations are associated with one or more interactions of the seconduser with one or more previously published contents of the online socialnetwork associated with the first user; receive sensor data from thepersonal computing device to estimate a current user intention of thefirst user with respect to the personal computing device; in response toestimating the current user intention, send instructions to the personalcomputing device to present one or more selectable user publicationresponses for the first user to select adjacent to the one or morenotifications, each selectable user response being associated with atleast one interaction to the one or more operations of the second useron the previously published content of the online social network;receive, from the personal computing device, user input comprising aselection of one or more of the selectable user publication responses onthe personal computing device while the personal computing device is inthe locked state; receive, from the personal computing device, anindication that the first user has performed an authorization eventassociated with the personal computing device; and in response to theauthorization event, retrieve the user input from the personal computingdevice for publication on the social-networking system in response tothe selection of one or more of the selectable user publicationresponses adjacent to the one or more notifications while the personalcomputing device is in the locked state.
 22. The media of claim 21,embodying software further operable when executed by the servercomputing system to publish one or more user responses corresponding tothe user input.
 23. The media of claim 21, wherein the instructions todisplay the one or more notifications on the display screen of thepersonal computing device further comprise instructions to play a soundrepresenting the one or more notifications using an audio output of thepersonal computing device, illuminate an indicator of the personalcomputing device, or cause the personal computing device to providehaptic output representing the one or more notifications.
 24. The mediaof claim 21, wherein the selectable user publication responses adjacentto the one or more notifications while the personal computing device isin the locked state comprise one or more options for the user togenerate or perform a comment, a like indication, a dislike indication,a delete action, a hide action, a categorization action, a moderationaction, a rating, a flag, a characterization, an invitation acceptanceaction, an invitation decline action, or any combination thereof. 25.The media of claim 21, wherein the authorization event comprises anaffirmative user action, the user action comprising entry of a validpassword, a swipe gesture, a button click, activation of a touch sensorof the personal computing device, activation of a gyroscope of thepersonal computing device, activation of an accelerometer of thepersonal computing device, or any combination thereof.
 26. The media ofclaim 21, wherein the authorization event comprises a passive action,the passive action comprising detection that the screen of the personalcomputing device is hidden, detection that the personal computing deviceis connected for recharging, detection that the personal computingdevice is located within a receptacle, or any combination thereof.